* {
  padding: 0;
  box-sizing: border-box;
}

html,
body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
}

:root {
  /* 基准字体大小 */
  font-size: 14px; /* 1rem = 14px */

  font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
  line-height: 1.5;
  font-weight: 400;

  color-scheme: light;
  color: #213547;
  background-color: #ffffff;

  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* ========== 字体大小 ========== */
  --font-size-xs: 0.75rem;    /* 10.5px */
  --font-size-sm: 0.875rem;   /* 12.25px */
  --font-size-base: 1rem;     /* 14px */
  --font-size-lg: 1.125rem;   /* 15.75px */
  --font-size-xl: 1.25rem;    /* 17.5px */
  --font-size-2xl: 1.5rem;    /* 21px */
  --font-size-3xl: 1.875rem;  /* 26.25px */

  /* ========== 间距 ========== */
  --spacing-xs: 0.25rem;   /* 4px */
  --spacing-sm: 0.5rem;    /* 8px */
  --spacing-md: 0.75rem;   /* 12px */
  --spacing-lg: 1rem;      /* 16px */
  --spacing-xl: 1.25rem;   /* 20px */
  --spacing-2xl: 1.5rem;   /* 24px */
  --spacing-3xl: 2rem;     /* 32px */

  /* ========== 圆角 ========== */
  --radius-sm: 0.25rem;    /* 4px */
  --radius-md: 0.5rem;     /* 8px */
  --radius-lg: 0.75rem;    /* 12px */
  --radius-xl: 1rem;       /* 16px */

  /* ========== 图标大小 ========== */
  --icon-sm: 1rem;         /* 16px */
  --icon-md: 1.125rem;     /* 18px */
  --icon-lg: 1.25rem;      /* 20px */
  --icon-xl: 1.5rem;       /* 24px */
}

a {
  font-weight: 500;
  color: #646cff;
  text-decoration: inherit;
}
a:hover {
  color: #535bf2;
}


h1 {
  font-size: 3.2em;
  line-height: 1.1;
}

button {
  border-radius: 8px;
  border: 1px solid transparent;
  padding: 0.6em 1.2em;
  font-size: 1em;
  font-weight: 500;
  font-family: inherit;
  background-color: #1a1a1a;
  cursor: pointer;
  transition: border-color 0.25s;
}
button:hover {
  border-color: #646cff;
}
button:focus,
button:focus-visible {
  outline: 4px auto -webkit-focus-ring-color;
}

.card {
  padding: 2em;
}

#app {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  height: 100%;
}

@media (prefers-color-scheme: light) {
  :root {
    color: #213547;
    background-color: #ffffff;
  }
  a:hover {
    color: #747bff;
  }
  button {
    background-color: #f9f9f9;
  }
}